const express=require('express');
const routes=express.Router();
const mysql=require('mysql');
var pool=mysql.createPool({
//    最大链接数
    connectionLimit:10,
//    主机
    host:'localhost',
//    数据库登陆用户名
    user:'root',
//    登录密码
    password:'123456',
//    当前项目链接的数据库
    database:'stutest'
})
//设置路由规则
routes.get('/',(req,resp)=>{
//    1.获取cookie中的uid和posts
    const uid=req.cookies.uid;
    if(req.cookies.posts==1){
        var posts='教师';
    }else{
        var posts='学生';
    }
    //2.拼接sql语句
    var sql=`select stu_msg.*,\`subject\`.sub_name from stu_msg LEFT JOIN \`subject\` ON stu_msg.sub_id=\`subject\`.id WHERE stu_msg.uid=${uid}`;
    //    3.链接数据，执行sql语句
    pool.getConnection((error,connection)=>{
        if(error) throw error;
        connection.query(sql,(err,result)=>{

            //查询个人成绩
            var sql_score=`select scores.scores,scores.uid,sub_class.class_name,sub_class.sub_id,sub_class.num FROM scores LEFT JOIN sub_class ON scores.class_id = sub_class.id where scores.uid=${uid}`
            connection.query(sql_score,(errs,res)=>{
                connection.release();
                //声明一个空数组，长度为5
                var scores=[];
                //for循环：将空数组循环5次
                for(var i=0;i<5;i++){
                    res.forEach((item)=>{
                    //    当i=0,作为数组下标，需要声明下标对应的数组元素是个数组
                        if(!scores[i]) scores[i]=[];
                    //    判断：item.num==(i+1)
                        if(item.num==(i+1)){
                            scores[i].push(item);
                        }
                    })
                }
                //    渲染视图
                resp.render('home',{
                    uid:uid,
                    posts:posts,
                    result:result,
                    scores:scores
                });
                if (errs) throw errs;
            })
            if(err) throw  err;
        })
    })

    })


//允许访问路由实例
module.exports=routes;